此种模型绘制类似米字形的网格。由于整个过程递归调用绘图函数,所以可以根据误差判断绘制DEM的精细程度,从而绘制出不同精细程度的DEM,为解决漫游中数据量较大而引起的画面不流畅现象提供了模型基础。 本文并没有对LOD作研究,只是给出了四叉树的建立和遍历绘图的方法。
#include "Pt3d.h" //空间点类(主要记录空间点的x,y,z)
#define EDGE_POINT 0
#define NODE_POINT 1
#define UNKNOWN 2
class CDEM
{
public:
CString strFileName; //文件名
CString strPathName; //文件路径名
double **dDEMGrid; //原始DEM格网点高程数据
int iCols; //研究区格网列数
int iRows; //研究区格网行数
double dXllcorner; //格网左下角X坐标(起始坐标)
double dYllcorner; //格网左下角Y坐标(起始坐标)
double dCellsize; //格网大小
double dNodata; //无数据区域的标识数字
double dMinZ,dMaxZ; //最大、最小高程值
double dCenterX,dCenterY; //DEM中心的坐标
float fScale; //范围比例
float fZRatio; //DEM高程夸张系数
bool IsShow; //是否显示
CDEM();
virtual ~CDEM();
void